package com.heu.blood.storge.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 血液报废表
 * 
 * @author lhh
 * @email lhh1612325771@163.com
 * @date 2024-07-07 16:23:52
 */
@Data
@TableName("blood_scrap")
public class BloodScrapEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 编号
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	/**
	 * 血液ID
	 */
	private String bloodId;
	/**
	 * 创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;
	/**
	 * 修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 操作者姓名
	 */
	private String operatorName;
	/**
	 * 操作人工号
	 */
	private String operatorId;
	/**
	 * 过期时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date failureTime;
	/**
	 * 报废原因
	 */
	private String bloodScrapReason;
	/**
	 * 血液品名
	 */
	private String bloodType;
	/**
	 * 规格/血量-数字
	 */
	private BigDecimal bloodCount;
	/**
	 * ABO血型(AboType)
	 */
	private String aboBloodType;
	/**
	 * RH血型(RhType)
	 */
	private String rhBloodType;
	/**
	 * 血液来源-字典-供血机构(BloodSource)
	 */
	private String bloodSource;
	/**
	 * 计量单位-ml等(MeasureMentUnit)
	 */
	private String measurementUnit;
	/**
	 * 批次号
	 */
	private Long batchNumber;
	/**
	 * 献血时编号
	 */
	private String bloodDonationCode;
	/**
	 * 血站出库编号
	 */
	private String bloodBankDeliveryId;
	/**
	 * 血装编号条码
	 */
	private String barcode;
	/**
	 * 扩展码-产品码
	 */
	private String extendCode;
	/**
	 * 是否展示，0代表不展示，1代表展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT) // 创建注解
	private Integer ifShow;
	/**
	 * 1代表已删除，0代表未删除
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT) // 创建注解
	private Integer isDeleted;

}
